package com.api.rc.form;

import com.api.rc.enums.RoomFee;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 创建房间表单
 *
 * @author RenQiang
 * @date 2021/7/12
 */
@Data
@ApiModel(value = "创建房间表单")
public class CreateRoomForm {
    /**
     * 游戏ID
     */
    @NotNull
    private Long gameId;
    /**
     * 是否是公开房间
     */
    @NotNull
    private Boolean isPublic;
    /**
     * 房间密码
     */
    private String password;
    /**
     * 房间名称
     */
    @NotBlank
    private String roomName;
    /**
     * 计划游戏时间
     */
    @NotNull
    private Date planningPlayTime;
    /**
     * 游戏模式
     */
    @NotNull
    private String model;
    /**
     * 房费
     */
    @NotNull
    private RoomFee roomFee;
    /**
     * 几局最佳取胜
     */
    @NotNull
    @Range(min = 1, max = 5)
    private Integer bestOf;
    /**
     * 玩家数量
     */
    @NotNull
    @Min(2)
    private Integer participants;
}
